#include "qscore.h"

void Usage()
    {
    fprintf(stderr,
"\n"
"qscore v3.1\n"
"Compare a test alignment with a reference (correct) alignment.\n"
"Written by Robert C. Edgar. This code is donated to the public domain.\n"
"Modified by wym6912. Ignore spaces in sequence name.\n"
"\n"
"Usage:\n"
"   qscore -test <testaln> -ref <refaln>\n"
"\n"
"Test and reference files must be multiple alignments in FASTA format.\n"
"Only columns with upper-case letters are compared, unless -ignoretestcase or\n"
"-ignorerefcase are specified.\n"
"\n"
"Options:\n"
"    -cline\n"
"        Compute Cline score.\n"
"\n"
"    -modeler\n"
"        Compute Modeler score.\n"
"\n"
"    -slow\n"
"        Compute Q and TC by the (much slower) method used in earlier versions of qscore.\n"
"\n"
"    -gapscore\n"
"        Compute GS, defined as fraction of reference columns containing at least one gap\n"
"        that are correctly reproduced in test alignment. Here, 'correct' means simply that\n"
"        all letters in the reference column are aligned to each other and to gaps in all\n"
"        other sequences; a better definition (slower to compute) could check that the gap\n"
"        occurs between the same letters in the test and ref sequences.\n"
"\n"
"    -quiet\n"
"        Don't write progress messages to stderr when -slow is specified.\n"
"\n"
"    -ignoretestcase, -ignorerefcase\n"
"        Include all columns of the test or reference alignment, ignoring\n"
"        upper/lower case; default is that only upper case is considered aligned.\n"
"\n"
"    -ignoremissingseqs\n"
"        Ignore reference sequences not found in test alignment.\n"
"        Default is to issue a fatal error message.\n"
"\n"
"    -perseq\n"
"        Report accuracy for each sequence.\n"
"\n"
"    -truncname\n"
"        When comparing FASTA annotations in order to match test and reference\n"
"        sequences, truncate FASTA annotations at the first whitespace character\n"
"        or comma. Default is to include the entire annotation except that trailing\n"
"        whitespace (blanks and tabs) is always deleted.\n"
"\n"
"    -seqdiffwarn\n"
"        Issue warning when test sequence differs from reference sequence. Default\n"
"        is to issue a fatal error without reporting scores. This is useful e.g. for\n"
"        programs like PRANK which replace wildcards by Xs.\n"
"\n"
"Scores:\n"
"     Q         PREFAB quality score\n"
"               = (# correctly aligned letter pairs) / (# aligned pairs in reference)\n"
"               Q is the same as the Balibase SP score and Sauder et al. Developer score.\n"
"\n"
"     TC        Balibase total column score\n"
"               = (# correctly aligned columns) / (# aligned columns in reference)\n"
"\n"
"     Modeler   Sauder et al. Modeler score\n"
"               = (# correctly aligned letter pairs) / (# aligned pairs in test)\n"
"\n"
"     Cline     Shift score, see Cline et al. for definition.\n"
"\n"
"References:\n"
"     Edgar, Nucleic Acids Research 32(5), pp.1792-97 (PREFAB Q score)\n"
"     Sauder et al., Sauder et al., Proteins 40, p.6 (Developer and Modeler scores)\n"
"     Cline et al., Bioinformatics 18(2) p.306 (Cline shift score)\n"
"     Thompson et al., Bioinformatics 15, pp.87-88 (SP and TC scores)\n"
    );
    }
